package com.florianmski.tracktoid.utils;
import android.content.Context;
import android.text.format.DateUtils;
import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
import org.joda.time.Period;
import org.joda.time.format.DateTimeFormatter;
import org.joda.time.format.ISODateTimeFormat;
import org.joda.time.format.PeriodFormatter;
import org.joda.time.format.PeriodFormatterBuilder;
public class DateHelper
{
private static final DateTimeFormatter ISO_8601_WITH_MILLIS;
static
{
ISO_8601_WITH_MILLIS = ISODateTimeFormat.dateTimeParser().withZoneUTC();
}
public static DateTime now()
{
return DateTime.now(DateTimeZone.UTC);
}
public static DateTime get(long millis)
{
return new DateTime(millis, DateTimeZone.UTC);
}
public static String getDate(Context context, DateTime d)
{
if(d == null || d.getMillis() == 0)
return "Unknown";
else
return DateUtils.formatDateTime(context, d.getMillis(), DateUtils.FORMAT_ABBREV_ALL | DateUtils.FORMAT_SHOW_DATE);
}
public static String getRuntime(int runtime)
{
PeriodFormatter formatter = new PeriodFormatterBuilder()
.printZeroNever()
.appendHours()
.appendSeparatorIfFieldsBefore("h")
.minimumPrintedDigits(2)
.appendMinutes()
.appendSeparatorIfFieldsBefore("m")
.toFormatter();
return formatter.print(new Period(runtime*60*1000));
}
public static Long getTimestamp(DateTime date)
{
return date == null ? null : date.getMillis();
}
}